package mastercard.assets.jpa;

import java.io.Serializable;
import javax.persistence.*;
import java.sql.Timestamp;
import java.util.List;


/**
 * The persistent class for the tbl_paquete database table.
 * 
 */
@Entity
@Table(name="tbl_paquete")
public class TblPaquete implements Serializable {
	private static final long serialVersionUID = 1L;
	private int cvePaquete;
	private byte bandera;
	private int facturadoA;
	private Timestamp fechaAlta;
	private int fondeado;
	private int habitacion;
	private byte status;
	private List<TblAssetTipo> tblAssetTipos;
	private TblAsset tblAsset;
	private List<TblTipoCuentaPaquete> tblTipoCuentaPaquetes;
	private List<TblCuentaPaquete> tblCuentaPaquetes;
	private List<TblCampania> tblCampanias;
        private List<TblGanador> tblGanador;

    public TblPaquete() {
    }


	@Id
	@GeneratedValue(strategy=GenerationType.IDENTITY)
	@Column(name="cve_paquete", unique=true, nullable=false)
	public int getCvePaquete() {
		return this.cvePaquete;
	}

	public void setCvePaquete(int cvePaquete) {
		this.cvePaquete = cvePaquete;
	}


	@Column(nullable=false)
	public byte getBandera() {
		return this.bandera;
	}

	public void setBandera(byte bandera) {
		this.bandera = bandera;
	}


	@Column(name="facturado_a", nullable=false)
	public int getFacturadoA() {
		return this.facturadoA;
	}

	public void setFacturadoA(int facturadoA) {
		this.facturadoA = facturadoA;
	}


	@Column(name="fecha_alta", nullable=false)
	public Timestamp getFechaAlta() {
		return this.fechaAlta;
	}

	public void setFechaAlta(Timestamp fechaAlta) {
		this.fechaAlta = fechaAlta;
	}


	@Column(nullable=false)
	public int getFondeado() {
		return this.fondeado;
	}

	public void setFondeado(int fondeado) {
		this.fondeado = fondeado;
	}


	@Column(nullable=false)
	public int getHabitacion() {
		return this.habitacion;
	}

	public void setHabitacion(int habitacion) {
		this.habitacion = habitacion;
	}


	@Column(nullable=false)
	public byte getStatus() {
		return this.status;
	}

	public void setStatus(byte status) {
		this.status = status;
	}


	//bi-directional many-to-one association to TblAssetTipo
	@OneToMany(mappedBy="tblPaquete")
	public List<TblAssetTipo> getTblAssetTipos() {
		return this.tblAssetTipos;
	}

	public void setTblAssetTipos(List<TblAssetTipo> tblAssetTipos) {
		this.tblAssetTipos = tblAssetTipos;
	}
	

	//bi-directional many-to-one association to TblAsset
    @ManyToOne
	@JoinColumn(name="cve_asset")
	public TblAsset getTblAsset() {
		return this.tblAsset;
	}

	public void setTblAsset(TblAsset tblAsset) {
		this.tblAsset = tblAsset;
	}
        
	//bi-directional many-to-one association to TblTipoCuentaPaquete
	@OneToMany(mappedBy="tblPaquete")
	public List<TblTipoCuentaPaquete> getTblTipoCuentaPaquetes() {
		return this.tblTipoCuentaPaquetes;
	}

	public void setTblTipoCuentaPaquetes(List<TblTipoCuentaPaquete> tblTipoCuentaPaquetes) {
		this.tblTipoCuentaPaquetes = tblTipoCuentaPaquetes;
	}
	

	//bi-directional many-to-one association to TblCuentaPaquete
	@OneToMany(mappedBy="tblPaquete")
	public List<TblCuentaPaquete> getTblCuentaPaquetes() {
		return this.tblCuentaPaquetes;
	}

	public void setTblCuentaPaquetes(List<TblCuentaPaquete> tblCuentaPaquetes) {
		this.tblCuentaPaquetes = tblCuentaPaquetes;
	}
	

	//bi-directional many-to-many association to TblCampania
    @ManyToMany
	@JoinTable(
		name="tbl_campania_paquete"
		, joinColumns={
			@JoinColumn(name="cve_paquete", nullable=false)
			}
		, inverseJoinColumns={
			@JoinColumn(name="cve_campania", nullable=false)
			}
		)
	public List<TblCampania> getTblCampanias() {
		return this.tblCampanias;
	}

	public void setTblCampanias(List<TblCampania> tblCampanias) {
		this.tblCampanias = tblCampanias;
	}
        
        //bi-directional many-to-one association to TblGanador
	@OneToMany(mappedBy="tblPaquete")
	public List<TblGanador> getTblGanador() {
		return this.tblGanador;
	}

	public void setTblPaquetes(List<TblGanador> tblGanador) {
		this.tblGanador = tblGanador;
	}
	
}